package org.aceor.mddal.gateway.util;

import com.google.common.base.Preconditions;
import org.aceor.mddal.gateway.datatype.DataType;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Date;
import java.sql.Timestamp;

/**
 * Created by lxue on 16/4/16.
 */
public class DataTypeUtil {
    public static DataType getTypeOfObject(Object value) {
        Preconditions.checkNotNull(value);
        if (value instanceof Integer) {
            return DataType.integerDataType;
        } else if (value instanceof BigInteger) {
            return DataType.bigIntegerDataType;
        } else if (value instanceof Date) {
            return DataType.dateDataType;
        } else if (value instanceof Timestamp) {
            return DataType.timestampDataType;
        } else if (value instanceof Long) {
            return DataType.longDataType;
        } else if (value instanceof BigDecimal) {
            return DataType.bigDecimalDataType;
        } else {
            throw new IllegalArgumentException("不支持该数据类型 :" + value.getClass());
        }
    }
}
